﻿/// ##############################################################################
/// 
/// Original Author         : Nick Hoggard (nick@silvercode.co.nz)
/// 
/// ##############################################################################
/// License and Copywrite information
/// 
/// Copyright (c) 2010, Nick Hoggard (nick@silvercode.co.nz)
/// All rights reserved.
/// 
/// Redistribution and use in source and binary forms, with or without
/// modification, are permitted provided that the following conditions are met:
///     * Redistributions of source code must retain the above copyright
///       notice, this list of conditions and the following disclaimer.
///     * Redistributions in binary form must reproduce the above copyright
///       notice, this list of conditions and the following disclaimer in the
///       documentation and/or other materials provided with the distribution.
///     * Neither the name of the copywrite holder nor the names of its contributors 
///       may be used to endorse or promote products derived from this software 
///       without specific prior written permission.
/// 
/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
/// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
/// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
/// DISCLAIMED. IN NO EVENT SHALL Nick Hoggard BE LIABLE FOR ANY
/// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
/// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
/// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
/// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
/// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
/// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
/// ##############################################################################

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Xml.Serialization;

namespace TimeSheetControl.ObjectModel
{
	public class TimeSheetEntry
	{

        System.Globalization.Calendar cal = System.Globalization.CultureInfo.CurrentCulture.Calendar;

		[XmlAttribute]
		public DateTime CreatedDate { get; set; }
		[XmlAttribute]
		public string CreatedBy { get; set; }
		[XmlAttribute]
		public DateTime TimeSheetDate { get; set; }
		[XmlAttribute]
		public decimal Minutes { get; set; }
		[XmlAttribute]
		public string Comments { get; set; }

        public DateTime DateWithoutTime
        {
            get
            {
                return new DateTime(TimeSheetDate.Year, TimeSheetDate.Month, TimeSheetDate.Day);
            }
        }

        public int WeekOfYear { get { return cal.GetWeekOfYear(TimeSheetDate, System.Globalization.CalendarWeekRule.FirstFullWeek, DayOfWeek.Monday); } }

		public decimal Hours { get { return Minutes / 60; } }
	}
	
	

}
